7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
3
6
1
5
4
2
8
6
8
5
4
3
3
1
2
6
6
6
8
5
5
2
4
4
1
4
1
8
8
8
3
4
2
1
8
3
5
2
2
8
6
5
1
5
4
3
3
6
2
5
6
1
2
5
5
8
8
2
8
8
2
3
6
8
5
4
8
1
4
1
3
8
8
1
4
2
6
3
4
3
6
8
3
1
6
5
2
8
3
6
8
4
8
2
1
6
8
8
3
1
6
2
2
8
8
8
8
3
8
6
8
2
8
4
3
8
5
3
1
6
4
3
2
8
5
1
8
2
6
8
4
5
6
8
4
2
8
1
6
6
8
8
5
8
8
4
3
4
1
2
6
5
8
8
5
8
1
1
4
2
8
8
8
6
8
8
3
4
6
2
6
8
6
4
1
8
8
4
8
8
5
8
5
3
6
8
1
8
5
8
2
8
4
6
8
6
3
6
1
8
5
6
8
1
3
4
2
6
6
6
8
6
3
5
4
6
6
2
8
8
3
3
8
8
3
3
6
2
2
2
8
5
4
1
4
8
8
6
6
2
6
3
1
1
5
8
3
8
5
8
1
8
8
3
1
6
5
6
8
6
8
3
3
4
6
8
3
8
8
8
8
8
6
8
2
4
6
5
6
6
2
4
8
3
6
8
2
5
6
3
6
2
8
2
3
6
3
4
2
3
2
8
6
8
3
5
5
8
5
8
8
8
2
3
8
8
8
8
6
8
8
8
4
6
8
6
5
6
2
2
6
8
8
3
1
6
4
2
2
8
5
8
2
3
6
8
6
8
4
8
8
3
4
3
2
8
8
8
3
6
8
6
3
1
4
6
1
5
8
8
8
8
6
8
3
1
3
2
8
8
2
8
8
1
6
8
3
8
2
8
5
4
6
6
6
2
8
6
6
4
8
5
2
6
3
2
6
2
2
3
1
8
6
5
3
8
6
8
6
8
8
3
4
4
6
1
2
8
6
8
5
3
3
4
3
1
8
8
8
6
8
4
6
8
2
5
1
8
3
6
8
8
6
6
3
6
4
4
4
6
8
6
6
8
8
8
5
2
8
3
2
8
6
3
5
3
6
8
5
1
6
8
3
3
6
4
2
2
3
8
1
5
2
8
2
3
8
8
8
5
8
8
8
8
8
6
2
5
8
6
8
4
8
3
4
8
6
5
8
8
8
2
8
2
3
2
1
8
3
2
6
8
1
5
8
5
8
8
1
8
1
8
1
8
3
2
4
5
3
6
8
8
8
6
2
6
6
5
6
5
8
1
3
6
8
3
1
6
5
8
8
6
6
5
8
3
6
8
8
4
8
3
2
8
8
8
2
1
8
8
8
6
8
8
8
5
2
8
8
8
8
8
8
8
6
2
8
6
6
3
6
2
8
6
6
6
6
8
3
8
3
4
5
8
8
2
8
6
3
3
6
1
8
8
1
6
4
1
6
8
2
3
8
8
1
8
4
2
8
8
5
2
6
2
5
8
5
2
5
2
6
2
6
8
8
6
5
8
8
6
6
2
3
2
2
2
8
5
6
8
4
8
6
3
5
3
8
5
6
8
8
8
5
8
6
6
8
8
5
6
8
8
8
8
6
5
6
6
3
8
4
3
3
8
8
8
8
6
6
2
8
3
4
2
6
8
3
2
6
8
3
8
8
8
6
2
8
4
6
3
8
1
2
6
8
2
2
8
8
6
8
8
2
8
8
1
1
2
3
8
6
8
3
3
6
3
3
4
8
2
8
4
8
3
8
8
8
3
8
8
2
3
5
8
8
5
6
1
8
8
8
3
8
4
6
8
8
6
8
3
8
3
8
3
5
8
8
3
4
6
4
8
8
1
8
8
3
4
8
6
6
8
8
2
8
8
2
3
8
3
8
8
2
8
6
5
6
8
6
8
8
6
8
8
8
5
8
8
6
2
3
6
6
8
6
6
8
2
8
3
2
2
8
6
8
8
6
8
1
6
8
3
3
3
3
1
6
8
6
8
4
8
6
6
3
6
3
5
8
4
8
8
8
1
8
1
8
1
1
1
1
1
1
1
1
8
1
1
1
1
8
8
8
5
8
8
8
8
8
8
8
1
8
8
5
8
8
8
8
8
1
1
8
8
8
8
8
8
8
8
8
1
8
8
8
8
8
8
8
8
1
8
8
8
8
8
8
1
1
1
8
8
8
8
8
1
8
8
1
8
8
8
8
8
8
1
8
8
8
8
8
8
8
1
8
8
8
1
8
8
8
8
8
1
1
8
1
8
8
1
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
4
4
5
5
4
5
4
4
5
5
4
4
4
5
4
4
5
5
4
5
4
4
5
5
4
1
1
4
4
4
4
4
4
4
5
4
5
4
1
4
5
5
5
4
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
4
4
4
5
4
4
4
4
4
4
5
4
1
4
4
4
1
4
4
5
4
4
1
4
5
4
4
4
4
4
4
5
4
4
5
4
1
4
5
4
4
4
5
4
4
5
4
5
4
4
4
4
4
5
4
4
4
4
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
4
4
5
4
4
4
4
5
5
5
5
4
5
4
4
5
4
5
4
4
4
5
4
4
5
5
4
1
4
4
4
4
5
4
5
4
4
4
4
5
4
4
5
4
4
4
4
4
1
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
1
1
1
4
1
1
1
4
2
4
4
4
2
1
4
4
1
1
2
4
4
2
2
4
4
2
1
4
4
4
4
4
4
4
2
4
4
1
1
4
1
4
1
4
2
4
1
1
1
4
1
4
1
4
4
4
4
1
1
4
1
1
4
4
1
2
2
1
4
4
2
1
4
4
1
4
4
4
2
4
4
4
4
4
4
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
3
3
3
3
4
3
3
4
3
3
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
4
4
4
4
4
5
4
5
5
4
4
5
5
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
4
5
8
5
4
5
5
5
5
5
5
5
5
5
8
5
5
8
5
5
4
4
5
5
5
5
5
5
5
5
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
5
5
5
5
5
5
5
4
5
5
5
4
5
4
5
5
5
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
5
8
8
5
8
5
8
5
8
8
8
8
5
8
8
8
5
8
8
5
5
5
5
5
5
4
5
5
5
5
5
2
8
5
2
2
5
2
2
5
5
8
5
5
2
2
2
2
5
2
5
5
5
5
5
2
5
1
5
2
1
5
5
2
2
2
5
5
2
2
2
5
2
2
5
5
5
5
1
5
2
5
5
5
5
5
5
2
5
5
2
5
2
1
5
5
4
5
2
5
2
5
2
5
2
8
1
5
2
2
5
5
2
2
2
2
5
5
2
5
2
5
2
2
5
2
5
4
5
2
1
1
2
5
5
5
5
2
5
4
5
2
5
1
2
5
5
1
5
2
5
5
5
2
1
2
5
5
5
5
1
2
2
5
2
2
5
2
2
5
1
2
5
5
2
5
5
5
2
5
5
5
1
1
5
2
2
5
2
2
5
5
1
5
5
5
5
5
5
5
2
2
2
5
2
1
5
1
5
5
5
1
2
5
2
5
2
2
5
5
5
2
2
2
5
5
2
5
2
2
5
5
2
5
2
2
2
2
2
5
5
5
2
2
5
2
5
5
1
5
2
2
2
2
2
2
2
2
2
5
2
2
2
5
2
2
5
1
5
2
2
1
2
2
2
1
2
5
5
5
5
5
5
5
2
5
2
2
2
2
5
2
5
5
5
2
2
5
5
2
5
5
2
2
2
1
5
2
2
2
5
2
5
2
5
2
2
5
2
2
5
5
2
2
2
2
5
5
5
5
2
2
5
5
5
5
2
5
2
5
5
2
5
2
5
5
2
5
5
5
5
5
2
2
5
2
2
5
5
2
2
1
5
2
5
2
1
5
5
2
5
2
5
2
2
5
2
5
5
1
5
2
1
2
1
2
5
2
5
5
5
2
2
5
5
5
5
5
1
5
2
1
5
5
5
2
2
5
5
5
2
2
5
5
5
5
2
5
2
5
5
2
2
2
5
5
5
2
1
5
5
2
5
5
5
5
2
5
5
2
5
2
5
5
1
2
2
5
5
1
5
2
2
1
5
5
5
2
2
5
2
5
1
2
2
5
5
5
1
5
2
5
5
5
2
5
5
5
5
2
5
5
4
2
2
5
5
5
1
5
2
5
5
5
1
1
5
1
2
5
5
5
5
5
5
5
2
5
2
5
5
5
5
1
2
5
5
5
5
1
5
5
5
5
2
5
2
1
5
1
5
2
5
5
5
5
2
2
2
2
6
2
2
2
5
5
2
2
5
5
5
5
2
5
5
5
5
2
1
5
5
4
5
5
2
5
5
5
5
5
5
5
6
2
4
1
5
5
5
5
1
5
4
5
5
4
2
2
5
2
5
5
5
4
2
2
5
5
5
5
2
2
5
2
4
5
2
5
2
5
2
1
5
2
2
5
2
2
5
5
5
5
2
2
1
4
4
5
5
2
5
4
5
4
1
2
4
4
4
4
4
4
4
4
2
4
4
4
4
4
1
5
4
6
4
4
2
2
2
1
6
6
4
6
6
1
2
2
6
1
6
4
4
2
4
2
4
2
2
2
4
2
4
2
1
2
4
4
4
6
2
2
1
1
4
6
6
6
4
2
2
4
4
2
2
4
4
4
2
4
1
2
1
2
1
2
4
4
2
4
2
2
8
8
8
8
8
8
1
6
8
8
1
1
6
8
6
8
1
1
8
8
1
6
6
1
6
6
8
8
8
8
8
6
1
8
8
6
1
1
6
6
8
8
8
8
8
1
8
8
8
6
6
6
6
6
1
1
6
6
6
6
6
1
6
6
6
6
6
1
6
1
1
6
1
1
1
1
1
1
6
1
1
6
6
6
1
6
1
1
6
6
1
6
6
6
6
1
6
6
6
6
1
6
1
1
6
6
1
6
6
6
1
6
6
1
6
6
6
6
6
1
6
6
6
1
1
6
6
6
1
6
6
6
6
6
6
6
1
6
1
1
6
1
1
6
6
6
1
6
6
6
1
6
1
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
6
1
6
6
6
6
6
6
6
1
6
1
6
6
6
6
1
1
6
6
6
6
1
1
6
6
1
6
1
6
6
1
6
1
6
6
6
1
1
1
6
6
1
1
6
1
6
6
1
6
1
6
1
6
1
1
1
6
6
6
1
6
1
6
6
1
6
6
6
6
1
1
6
1
6
1
6
1
6
6
1
6
6
1
6
6
6
6
1
1
1
6
1
1
6
6
1
6
1
1
6
6
6
6
1
1
1
6
6
1
6
1
1
6
6
6
6
1
6
1
6
6
6
6
1
6
1
1
6
6
6
6
6
6
6
6
6
6
6
1
1
6
6
6
6
6
6
6
6
1
6
6
6
1
6
1
1
1
6
6
6
6
6
1
6
1
6
6
1
6
6
6
6
1
6
6
6
6
1
6
1
6
6
6
6
6
1
6
6
6
6
6
6
6
1
1
6
1
1
6
6
1
6
6
6
6
6
6
1
6
1
1
1
1
1
6
1
6
6
6
6
6
6
1
1
1
6
6
6
1
6
6
6
6
6
6
1
1
6
6
6
6
1
1
6
6
1
6
6
6
1
6
6
6
6
1
6
6
6
6
6
6
1
6
6
6
1
6
1
1
6
6
1
6
6
1
6
1
6
1
6
6
1
6
1
6
6
6
6
6
1
6
6
6
6
6
6
6
1
1
6
6
6
6
6
6
1
1
1
3
6
1
6
6
6
6
6
6
6
6
1
6
1
6
6
6
6
6
1
3
3
6
6
6
1
6
6
6
1
6
1
6
1
6
1
6
1
1
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
6
1
1
1
1
1
1
1
1
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
3
2
2
3
3
3
2
2
3
3
3
3
3
2
3
3
3
3
2
3
3
3
3
3
3
3
3
2
3
3
1
3
2
1
3
2
3
3
3
3
1
2
3
3
3
3
2
1
1
3
2
3
3
3
3
1
2
3
3
2
2
3
3
3
1
1
3
1
3
3
3
3
1
3
2
1
3
3
1
2
3
3
3
3
2
3
3
2
3
3
3
2
1
3
3
2
3
3
3
1
3
3
1
3
3
3
2
3
3
2
3
3
3
3
1
3
1
3
2
3
1
2
2
3
3
3
1
3
3
3
3
3
3
3
3
1
3
3
3
3
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
3
2
3
3
3
3
3
1
1
1
2
3
2
3
3
3
1
2
2
1
3
3
1
2
1
2
3
3
3
3
3
1
3
3
3
3
3
3
3
3
1
1
3
2
2
2
1
1
2
2
1
2
2
1
2
2
2
1
2
1
1
2
1
1
1
2
1
1
2
2
2
2
1
1
1
2
1
2
2
1
2
1
1
1
2
2
2
1
2
1
2
2
1
1
1
2
2
1
1
2
1
2
1
1
1
2
2
2
2
1
2
2
2
1
2
1
1
1
2
1
1
1
1
1
1
2
2
2
2
2
1
2
1
1
2
2
2
2
2
2
1
1
2
2
2
2
1
1
2
1
1
2
2
1
2
2
1
1
1
1
1
2
1
2
2
2
1
2
2
2
2
2
2
1
2
1
1
2
1
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
